Image recognition and computer vision has been around since at least the 1960's when universities began pioneering artificial intelligence. Early on, when attempting image recognition, challenges such as viewpoint variation, scale, orientation, deformation, occlusion, illumination condition, background clutter, intra-class variation, object detection and recognition, and the like, emerged. Although improvements and advances have been made in these image recognition challenges over the last 50 years, current methodologies still have difficulty efficiently and accurately identifying images.
FIG. 1 is an example of an image which is very difficult to recognize using computer vision. FIG. 1 shows a typical floorplan image 2. As can be seen from the image, a variety of room spaces of varying dimensions are represented. Both pivoting doorways and sliding closet doors are depicted. Typical symbols representing appliances and fixtures are present. As can happen, area dimensions are given in divergent measurement terms: areas 10 are described in conventional Japanese measurements units of “j” or Jo while area 12 is described in measurement units of “m2” or meters squared. Continuing, floorplan image 2 shows interior and exterior walls 8 and doors 6. Further, floorplan image 2 also shows bedrooms 10, balcony 12 and living room 14. Each additional item on the floorplan image shown in FIG. 1 increases the difficulty for a computer to recognize the image and the objects in the image. This is because more image processing is required for images with a greater number of objects. For example, each image object creates features such as lines, edges, corners, shapes, that must be extracted from the image data. Processing decisions must be made about each of these extracted features to determine the segmentation (pixel labeling) and object detection (classification of a group of pixels into a category). As can be appreciated, image recognition and computer vision processing require great amounts of computer processing resources.
FIG. 2A shows an example of poor image recognition of a floorplan image 200. As shown by the boxes 222 and 224 in image 220, the computer processing could not detect the areas highlighted therein. When looking at the corresponding areas of the input image 220, areas 202 and 210 had a higher degree of fine detail than other areas in the image 206, 204 and 208. This caused the computer to fail to recognize these areas of higher detail.
FIG. 2B shows another example of poor computer vision. In this example, vertical lies 280 in the input image caused problems for the computer attempting to recognize floorplan image 270. As shown in output image 275, the vertical lines have been interpreted to be a feature of the floorplan image 275, shown by boxed area 290.